1. Field of the Invention
The present invention relates to storage systems. In particular, the present invention relates to a system and a method for providing improved performance, protection and efficiency for an array of storage units.
2. Description of the Related Art
The following definitions are used herein and are offered for purposes of illustration and not limitation:
An “element” is a block of data on a storage unit.
A “base array” is a set of elements that comprise an array unit for an Error or Erasure Correcting Code.
An “array” is a set of storage units that holds one or more base arrays.
A “stripe” is a base array within an array.
n is the number of data units in the base array.
r is the number of redundant units in the base array.
m is the number of storage units in the array.
d is the minimum Hamming distance of the array.
D is the minimum Hamming distance of the storage system.
IOw is the number of IOs to perform an update write.
The total number of storage units in an array is m=n+r.
Storage systems have typically relied on RAID techniques for protecting against data loss caused by storage unit failures. Current RAID designs, however, are reaching the limits of their usefulness based on increasing storage unit capacities. The notation (X+Y) used herein will be used to indicate X data units and Y redundant units. Most systems today use RAID 5 (n+1) or single mirroring (1+1) as a basic array design. Both of these types of storage system configurations have a minimum Hamming distance of D=2 and, therefore, protect against a single storage unit failure. As used herein, the term “distance” refers to the minimum Hamming distance. The likelihood of multiple drive failures and hard errors, however, have increased the occurrence of data loss events in RAID 5 system configurations. Multiple storage unit losses leading to data loss have been observed in practice.
Many array configurations have been proposed for handling such a high failure rate. For example, RAID 6 (n+2) having a distance D=3, double mirroring (1+2) having a distance D=3, and RAID 51 (n+(n+2)) having a distance D=4 have all been proposed as solutions for handing a high failure rate. Nevertheless, all of these array configurations have shortcomings as will be described in connection with Table 1 and FIG. 2.
What is still needed is an array configuration that provides improved performance, protection and efficiency over conventional approaches.